package com.aishua.fire.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import com.aishua.fire.entity.dict.DictList;
import com.aishua.fire.entity.dict.DictListSearchInfo;
import com.aishua.fire.mapper.dto.DictDto;

@Component
public interface DictMapper {

	/**
	 * 添加
	 * @param dict
	 */
	void save(DictDto dict);

	/**
	 * 软删除
	 * @param dictId
	 * @param delY
	 */
	void softDeleteDict(@Param("dictValue") String dictValue,@Param("delY") String delY);

	/**
	 * 更新
	 * @param dict
	 */
	void saveAndFlush(DictDto dict);

	/**
	 * 查询
	 * @param parseLong
	 * @return
	 */
	DictDto findOne(String dictValue);
	
	/**
	 * 根据类别查询所有正在使用中的字典
	 * @return
	 */
	List<DictDto> findAllUsingByType(@Param("teamValue") String teamValue,@Param("status") String status);

	/**
	 * 查询总记录数
	 * @param dictSearchList
	 * @return
	 */
	int searchDictListCount(DictListSearchInfo dictSearchList);

	/**
	 * 查询总数据列表
	 * @param dictSearchList
	 * @return
	 */
	List<DictDto> searchDictList(String status);
	
	/**
	 * 查询总数
	 * @return
	 */
	int findCount(String dictValue);
	
	/**
	 * 根据dictName查询数据字典表list
	 * @return
	 */
	List<DictDto> findDictListByDictName(String dictName);
	
	/**
	 * 根据dicValue(suppierId)查询数据字典表teamName
	 * @return
	 */
	String findteamNameBydicValue(String dictValue);
 
	int findCou(String dictValue);
	
	void deleteBydicValue(String dictValue);
	
	//查询dict_value,dict_name
	List<DictList> getDicts(Map<String, Object> pram);

	/**
	 * 初始化字典表数据
	 */
	void initDatabaseDicts();
}
